package com.sunrise.generico.entidade;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import lombok.Getter;
import lombok.Setter;

import com.sunrise.generico.entidade.iface.EntidadeNegocio;
import com.sunrise.generico.enums.FormaPagamento;
import com.sunrise.generico.enums.TipoDesconto;
import com.sunrise.generico.enums.TipoPagamento;

@Entity
@Table(name = "pagamento")
public class Pagamento implements EntidadeNegocio {

	/**
	 * 
	 */
	private static final long serialVersionUID = -307041236011097321L;

	@Id
	@SequenceGenerator(name="pk_sequence",sequenceName="pagamento_id_seq", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
	@javax.persistence.Column
	@Getter @Setter
	private Long id;
	
	@NotNull(message = "{tipoPagamentoObrigatorio}")
	@Enumerated
	@Getter @Setter
	private TipoPagamento tipoPagamento;
	
	@NotNull(message = "{formaPagamentoObrigatorio}")
	@Enumerated
	@Getter @Setter
	private FormaPagamento formaPagamento;
	
	@Enumerated
	@Getter @Setter
	private Integer parcelas;
	
	@Column(name = "valorParcelas")
	@Getter @Setter
	private BigDecimal valorParcelas;
	
	@Enumerated
	@Getter @Setter
	private TipoDesconto tipoDesconto;
	
	@Column
	@Getter @Setter
	private BigDecimal valorDesconto;

	

	
}
